// 编写一个箭头函数calculate，它接受两个数字参数num1和num2，以及一个字符串参数operation。
// operation的值可能是'add'（加法）、'subtract'（减法）、'multiply'（乘法）或'divide'（除法）。
// 根据operation的值，对num1和num2执行相应的运算，并返回结果。
// 如果operation的值不是上述四种之一，返回'无效的操作'。

const calculate =   (num1, num2, operation) => {
    
    switch (operation) {
        case 'add':
            return num1 + num2;
        case 'subtract':
            return num1 - num2;
        case 'multiply':
            return num1 * num2;
        case 'divide':
            return num1 / num2;
        default:
            return '无效的操作';
}   
}
// console.log(calculate(5, 3, 'add'))
// console.log(calculate(10, 4,'subtract'))
// console.log(calculate(2, 7,'multiply'))
// console.log(calculate(15, 3, 'divide'))
// console.log(calculate(8, 2, 'unknown'))

// 定义一个login方法，这个login方法传入username和password两个参数，这个login方法的返回值为一个Promise对象

const login = (username,password)=>{
    return new Promise((resolve,reject)=>{
        // console.log(username, password, typeof username, typeof password);
        console.log(username.length, password.length);
        if(username.length < 6 || password.length < 6){
            reject('用户名或密码至少6位')
        }else{
            if(username==='user123'&&password==='123456'){
                resolve('登录成功')
            }else{
                reject('用户名或密码错误')
            }
        }
    })
}
login('user3','123456')
    .then((result)=>{
    console.log(result)
})  
    .catch((err)=>{
    console.log(err)
})  
    .finally(()=>{
    console.log('登录结束')
})

function counter(zimu){
    return new Promise((resolve, reject)=>{
        resolve(zimu)
    })
}
counter('a').then(result=>{
    for (let i=1;i<=10;i++){
        setTimeout(()=>{
            console.log(`${result}${i}`)
            },1000*i)
    }
})

counter('b').then(result=>{
    for (let i=1;i<=10;i++){
        setTimeout(()=>{
            console.log(`${result}${i}`)
            },1000*i)
    }
})

counter('c').then(result=>{
    for (let i=1;i<=10;i++){
        setTimeout(()=>{
            console.log(`${result}${i}`)
            },1000*i)
    }
})